package jgl.vajra.kingkong.part.home.contract;

import java.util.Map;

import io.reactivex.Observable;
import jgl.vajra.kingkong.bean.LoginInfoBean;
import jgl.vajra.kingkong.databinding.FragmentMinePageBinding;
import jgl.vajra.kingkong.widget.mvvm.model.BaseModel;
import jgl.vajra.kingkong.widget.mvvm.view.BaseMVVMView;
import jgl.vajra.kingkong.widget.mvvm.viewmodel.BaseViewModel;

public class MinePageContract {

    public abstract static class Model extends BaseModel {

        public abstract Observable<LoginInfoBean> getMineData(Map<String, Object> map);
    }

    public interface View extends BaseMVVMView {
        void onNews();

        void onSetting();

        void onPersonalInformation();

        void onSignIn();

        void onMemberCenter();

        void onLieEarn();

        void onBalance();

        void onCoupon();

        void onIntegral();

        void onInvitePrize();

        void onCommonAddress();

        void onCollectionDriver();

        void onInvoice();

        void onScan();

        void onCustomerService();

        void onFeedback();

        void onCalculateAccounts();

        void onEnterpriseServices();

        void onOiling();

        void onSecKill();

        void returnMineData(LoginInfoBean data);
    }

    public abstract static class ViewModel extends BaseViewModel<View, FragmentMinePageBinding, Model> {
        public abstract void getMineData(Map<String, Object> map);
    }
}
